package com.dces.jx.billtest.dto.xwManageList;
import com.fasterxml.jackson.annotation.JsonProperty;
import javax.validation.constraints.*;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import java.io.Serializable;
import java.util.Date;
import java.math.BigDecimal;
import lombok.Getter;
import lombok.Setter;
import com.xdo.validation.annotation.XdoSize;
/**
 * @author xdoV2.0
 * @date: 2021-9-13
 */
@Setter
@Getter
@ApiModel(value = "传入参数")
public class DcBillListXwtParam implements Serializable {
    private static final long serialVersionUID = 1L;
	/**
    * 主键
    */
    @ApiModelProperty("主键")
    private String sid;
	/**
    * 关联字段
    */
	@ApiModelProperty("表头关联字段")
	@NotEmpty(message="表头关联字段不能为空！")
	private String headId;
	/**
    * 经营单位编码
    */
	@XdoSize(max = 10, message = "经营单位编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("经营单位编码")
	private  String tradeCode;
	/**
    * 账册编号
    */
	@XdoSize(max = 12, message = "账册编号长度不能超过12位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("账册编号")
	private  String emsNo;
	/**
    * 清单流水号
    */
	@XdoSize(max = 18, message = "清单流水号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("清单流水号")
	private  String billListNo;
	/**
    * 实际过卡数量
    */
	@Digits(integer = 13, fraction = 5, message = "实际过卡数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("实际过卡数量")
	private  BigDecimal actlPassQty;
	/**
    * 归类标志
    */
	@XdoSize(max = 4, message = "归类标志长度不能超过4位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("归类标志")
	private  String classifyMark;
	/**
    * 商品编码
    */
	@XdoSize(max = 10, message = "商品编码长度不能超过10位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("商品编码")
	private  String codeTS;
	/**
    * 料号
    */
	@XdoSize(max = 32, message = "料号长度不能超过32位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("料号")
	private  String copGNo;
	/**
    * 币制
    */
	@ApiModelProperty("币制")
	private  String curr;
	/**
    * 数据标识
    */
	@XdoSize(max = 128, message = "数据标识长度不能超过128位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("数据标识")
	private  String dataMark;
	/**
    * 申报单价
    */
	@Digits(integer = 14, fraction = 5, message = "申报单价必须为数字,整数位最大14位,小数最大5位!")
	@ApiModelProperty("申报单价")
	private  BigDecimal decPrice;
	/**
    * 申报总价
    */
	@Digits(integer = 15, fraction = 5, message = "申报总价必须为数字,整数位最大15位,小数最大5位!")
	@ApiModelProperty("申报总价")
	private  BigDecimal decTotal;
	/**
    * 最终目的国（地区）
    */
	@XdoSize(max = 3, message = "最终目的国（地区）长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("最终目的国（地区）")
	private  String destinationCountry;
	/**
    * 境内目的地-国内地区
    */
	@XdoSize(max = 5, message = "境内目的地-国内地区长度不能超过5位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("境内目的地-国内地区")
	private  String districtCode;
	/**
    * 境内目的地-行政区
    */
	@ApiModelProperty("境内目的地-行政区")
	private  String districtPostCode;
	/**
    * 征免方式
    */
	@ApiModelProperty("征免方式")
	private  String dutyMode;
	/**
    * 单耗版本号
    */
	@XdoSize(max = 8, message = "单耗版本号长度不能超过8位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("单耗版本号")
	private  String exgVersion;
	/**
    * 第一比例因子
    */
	@Digits(integer = 13, fraction = 5, message = "第一比例因子必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("第一比例因子")
	private  BigDecimal factor1;
	/**
    * 第二比例因子
    */
	@Digits(integer = 13, fraction = 5, message = "第二比例因子必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("第二比例因子")
	private  BigDecimal factor2;
	/**
    * 重量比例因子
    */
	@Digits(integer = 13, fraction = 5, message = "重量比例因子必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("重量比例因子")
	private  BigDecimal factorWt;
	/**
    * 规格型号
    */
	@ApiModelProperty("规格型号")
	@JsonProperty("gModel")
	private  String gModel;
	/**
    * 商品名称
    */
	@XdoSize(max = 255, message = "商品名称长度不能超过255位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("商品名称")
	@JsonProperty("gName")
	private  String gName;
	/**
    * 备案序号
    */
	@Digits(integer = 9, fraction = 0, message = "备案序号必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("备案序号")
	@JsonProperty("gNo")
	private  Integer gNo;
	/**
    * 毛重
    */
	@Digits(integer = 13, fraction = 5, message = "毛重必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("毛重")
	private  BigDecimal grossWt;
	/**
    * 入库时间
    */
	@ApiModelProperty("入库时间")
	private  Date indbTime;
	/**
    * 净重
    */
	@Digits(integer = 13, fraction = 5, message = "净重必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("净重")
	private  BigDecimal netWt;
	/**
    * 备注
    */
	@XdoSize(max = 256, message = "备注长度不能超过256位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("备注")
	private  String note;
	/**
    * 原产国(地区)
    */
	@XdoSize(max = 3, message = "原产国(地区)长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("原产国(地区)")
	private  String originCountry;
	/**
    * 核放单已用数量
    */
	@Digits(integer = 13, fraction = 5, message = "核放单已用数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("核放单已用数量")
	private  BigDecimal passportUsedQty;
	/**
    * 申报数量
    */
	@Digits(integer = 13, fraction = 5, message = "申报数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("申报数量")
	private  BigDecimal qty;
	/**
    * 法定数量
    */
	@Digits(integer = 13, fraction = 5, message = "法定数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("法定数量")
	private  BigDecimal qty1;
	/**
    * 法定第二数量
    */
	@Digits(integer = 13, fraction = 5, message = "法定第二数量必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("法定第二数量")
	private  BigDecimal qty2;
	/**
    * 流转申报表序号
    */
	@ApiModelProperty("流转申报表序号")
	private  String rotateGNo;
	/**
    * 中心统一编号
    */
	@XdoSize(max = 18, message = "中心统一编号长度不能超过18位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("中心统一编号")
	private  String seqNo;
	/**
    * 序号
    */
	@Digits(integer = 9, fraction = 0, message = "序号必须为数字,整数位最大9位,小数最大0位!")
	@ApiModelProperty("序号")
	private  Integer serialNo;
	/**
    * 申报计量单位
    */
	@XdoSize(max = 3, message = "申报计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("申报计量单位")
	private  String unit;
	/**
    * 法定计量单位
    */
	@XdoSize(max = 3, message = "法定计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("法定计量单位")
	private  String unit1;
	/**
    * 法定第二计量单位
    */
	@XdoSize(max = 3, message = "法定第二计量单位长度不能超过3位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("法定第二计量单位")
	private  String unit2;
	/**
    * 美元统计总金额
    */
	@Digits(integer = 13, fraction = 5, message = "美元统计总金额必须为数字,整数位最大13位,小数最大5位!")
	@ApiModelProperty("美元统计总金额")
	private  BigDecimal usdPrice;
	/**
    * 用途
    */
	@XdoSize(max = 2, message = "用途长度不能超过2位字节长度(一个汉字2位字节长度)!")
	@ApiModelProperty("用途")
	private  String useType;
}
